This invention relates generally to processing within a computing environment, and more particularly to tracking dynamic memory reallocation using a single storage address configuration table.
Currently, many computer storage systems are divided into multiple partitions. Each partition is assigned a certain system address range which is typically greater than an initial allocation of physical storage. When throughput or responsiveness of tasks running on a partition slows to undesirable levels, and the initial storage allocation is less than adequate, a portion of storage assigned to an idle or less performance intensive process is dynamically reassigned to the partition. Reallocation includes first de-allocating desired storage increments from one memory partition, followed by allocating desired storage increments to another memory partition. De-allocation of storage also occurs when an entire partition is about to become deactivated. In either case, it is necessary to maintain and update configuration tables before, during, and after the re-allocation.
Currently, two entire copies of the configuration tables are employed by the system to facilitate dynamic storage reallocation. In use, only one copy of the configuration table is active at any given time. The other copy runs in a background mode and is employed by the system during memory de-allocation. The system marks which system address will be invalid in the copy running in the background. A switch over from the active copy to the copy running in the background mode occurs when entry invalidations in the copy running in the background are complete and the corresponding system addresses are purged from all caches in the system.